/**********************************************************************/
/**  Copyright (c) ECC labs. 2001-2002. All Rights Reserved.		 **/
/**********************************************************************/
/*
	binspace.h
	Mark Papazyan

*/

#ifndef __CBINSPACE_H
#define __CBINSPACE_H

#include "binmatr.h"



class CBinSpace:public CBinMatrix{
public:

	CBinSpace(t_len k=MAX_LENGTH, t_len n=MAX_HEIGHT, int flag=ROW, int base=BIN);
	CBinSpace(const CBinSpace&);

	void convert();

	CBinSpace operator &=(CBinSpace&);
	CBinSpace operator |=(CBinSpace);
	CBinSpace operator &&(CBinSpace&);
	CBinSpace operator ||(CBinSpace);
	CBinSpace& operator=(const CBinSpace&);

	void set_h();
	void set_g();
};

ostream& operator<<(ostream&, CBinSpace&);
istream& operator>>(istream&, CBinSpace&);

void union_space(CBinSpace&, CBinSpace&, CBinSpace&);
void intersect_space(CBinSpace&, CBinSpace, CBinSpace);

#endif
